#define _CRT_SECURE_NO_WARNINGS 1
//#define _CRT_SECURE_NO_WARNINGS 1
//#include <stdio.h>
//#define my_ofsetof(struct_name,mem_name) (int)&(((struct_name*)0)->mem_name)
//
//struct SU
//{
//	int a;
//	char b;
//	int c;
//}su;
//
//
//int main()
//{
//	printf("%d\n", my_ofsetof(struct SU, a));
//	printf("%d\n", my_ofsetof(struct SU, b));
//	printf("%d\n", my_ofsetof(struct SU, c));
//	return 0;
//}

//#define _CRT_SECURE_NO_WARNINGS 1
//#include <stdio.h>
//#define EXCHANGE(a) (((a&0x55555555)<<1) + ((a&0xAAAAAAAA)>>1))
// 
//
//int main()
//{
//	int m = 2;
//	printf("%d", EXCHANGE(m));
//	return 0;
//}